Automatic call director first in first out accessory

ABSTRACT

An external accessory is added to an automatic call director to ensure first in first out operation for connection to primary resources when secondary resources are accessed prior to primary resources. A controller intercepts resource requests for the call director and manages an auxiliary queue to provide first in first out operation. The resource requests are returned to the call director queue once first in first out is guaranteed.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to automatic call directors and, inparticular, to accessories for maintaining first in first out callprocessing.

[0002] Automatic call directors (ACDS) and their more simple-mindedcousins, private branch exchanges, are used to connect callers withagents and other resources (e.g., modems, facsimile machines, voicemail, etc.). The typical ACD connects callers with resources until allresources are in use. At that point, further callers are placed in ahold queue until a resource becomes available. Normally the first inthis hold queue will be the first out of the queue (i.e., a first infirst out (FIFO) queue).

[0003] Current ACDs are designed to handle callers in the describedmanner. A caller waits in the queue until a resource is available and isremoved from the queue upon being connected to a resource. If the calleris returned to the queue for some reason the callers will be added tothe end of the queue. For example, ACDs manufactured by Lucent, Siemens,and Nortel operate in this manner.

[0004] Increasing there are resources that may be thought of assecondary resources, not the reason for the call, but a resource thatthe caller may be connected to prior to being connected to the desiredprimary resource.

[0005] Resources that may be classified as secondary resources includevoice mail (for voice mail independent of the main call (e.g.,expressing an opinion of the calling experience while waiting for theprimary resource)); information on demand systems, that provideprerecorded information on topics chosen by the caller while waiting; ornon-agent telephones (e.g., calling a particular party on an ancillarymatter while waiting for the primary resource).

[0006] Another secondary resource is an automatic call back system.These systems take a call on hold, obtain call back information andcalls back the caller at some future time. Such a system is disclosed inU.S. Pat. No. 5,227,884 and is incorporated herein by reference.

[0007] Unfortunately, the ACDs available today do not permit a caller'splace to be maintained in the hold queue while accessing these secondaryresources. When the caller is connected to the secondary resource thecaller's place in the queue is released (FIG. 1). Upon being releasedfrom the secondary resource, the caller goes to the end of the line inthe hold queue for the primary resource. The caller's queue status hasbeen lost.

SUMMARY OF THE INVENTION

[0008] An accessory device for a server, where the server allocatesclient primary resource requests to primary resources and has a primaryqueue, includes a controller, a client/server communication link, anauxiliary queue, and a secondary resource communication link. Theclient/server communication link is adapted to communicate with theserver and at least one client. The device intercepts client primaryresource requests via the client/server communication link in responseto the controller. The device stores the intercepted requests in theauxiliary queue in response to the controller. The secondary resourcecommunication link is adapted to communicate with at least one secondaryresource. The device allocates secondary resource requests to thesecondary resource in response to the controller. The device returns theintercepted requests to the server via the client/server communicationlink in response to a desired condition.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009]FIG. 1 is block diagram of a prior art system for assigningresources to clients using a server.

[0010]FIG. 2 is a block diagram of an embodiment of a system forassigning resources to clients according to the invention.

[0011]FIG. 3 is a block diagram of an accessory device according to theinvention.

[0012]FIG. 4 is a block diagram of an additional embodiment of a systemfor assigning resources to clients according to the invention.

[0013]FIG. 5 is a block diagram of an embodiment of a system forassigning resources to callers according to the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Referring to FIG. 2, a FIFO accessory 12 is used to maintain thequeue status for a server 14 that is not itself configured to maintainthe status of clients 16 that will access secondary resources 18 whilewaiting for primary resources 20. In this embodiment, the accessory 12receives client information and resource requests from the server 14 andcontrols placement of client information and resource requests into theprimary queue 21 of the server 14 via a client/server communicationslink 22.

[0015] The accessory 12 is responsive to requests by the clients 16 forsecondary resources 18. It provides secondary resources 18 via asecondary resource communications link 24. Unlike the server 14, theaccessory 12 maintains the queue entry for the clients 16 even when aclient is accessing a secondary resource 18.

[0016] Referring to FIG. 3, the accessory 12 includes a controller 26and an auxiliary queue 28. The controller 26 controls the client/servercommunication link 22, the secondary resources link 24 and auxiliaryqueue 28. The controller 26 and auxiliary queue 28 may be convenientlyimplemented using a microcomputer-based system, but such devices asprogrammable controllers, custom integrated circuits, and other devicesknown to those skilled in the art may be employed. The controller 26 andauxiliary queue 28 are distinct from the server 14.

[0017] In operation, the accessory 12 will typically pass all clientrequests for primary resources 20 directly to the server 14 as long asprimary resources 20 are available. If all primary resources 20 are inuse by other clients, the primary queue 21 will begin to fill. As theprimary queue 21 fills, the controller 26 will begin placing the clientrequests in the auxiliary queue 28 instead of in the primary queue 21.The threshold number of entries in the primary queue 21 at which theaccessory 12 stops and starts placing client requests in the primaryqueue 21 may be chosen based on the likely wait period in the primaryqueue 21. If the wait period will likely be too short to allow a clientto make use of the secondary resources 20, the client requests canconveniently wait in the primary queue 21.

[0018] It is possible to utilize other criteria to determine when theaccessory 12 should start and stop placing client requests in theprimary queue 21. For example, if all secondary resources are disabled,all client requests could be placed in the primary queue 21.

[0019] Once in the auxiliary queue 28, the controller 26 offers theclients access to the secondary resources 24. This is accomplished bysuch well-known techniques as announcements, interactive voice responseand voice response units. In some cases, access may be forced (e.g., amandatory automatic call back system).

[0020] The intercepted client requests for primary resources in theauxiliary queue 28 are maintained even while the client 16 accesses thesecondary resources 18. This information includes the order and/or timeof the client's request for primary resources.

[0021] In a preferred embodiment of the invention, this information isused to provide FIFO operation of not only the auxiliary queue 28, butalso the primary queue 21. Entries are not placed into the primary queue21 by the accessory 12 until the order of the entries is immutable(i.e., no more access of secondary resources are permitted and thusthere is no way for the client to “get out of line” at that point).

[0022] In addition, it is possible to maintain other orderinginformation in the auxiliary queue 28. For example, clients might havediffering priority levels. In this case, the priority level would bepart of determining when the client left the auxiliary queue 28.

[0023] Various options are possible if a client is accessing a secondaryresource when it reaches the head of the auxiliary queue 28. Dependingon the nature of the secondary resource, it may be immediatelydisconnected from the secondary resource, warned of a pendingdisconnect, or given a choice to disconnect. It is expected that in thecases of delayed disconnection, the client's will just “step aside”until disconnection from the secondary resource.

[0024] Referring to FIG. 4, an additional embodiment of the inventionplaces the accessory 12′ between the clients 16 and the server 14. Theaccessory 12′ intercepts the primary resource requests directly from theclients 16 via the client communications link 22A and communicates withthe server 14 with the server communications link 22B. The basicoperation of the embodiments of FIGS. 2 and 4 is the same, but thedesign of some servers 12 may make it more convenient and/or effectiveto tie directly into the server 12 to take advantage of more of theserver's inherent line switching abilities. In the case of servershaving a less open architecture, the embodiment of FIG. 4 may be used.

[0025] Referring to FIG. 4, a more specific application of the accessory12 includes clients in the form of callers 16′, a server in the form ofan ACD 14′, primary resources in the from the agents 20′ and varioussecondary resources, such as an automatic call back system 30, a voicemail system 32, an information on demand system 34 and a non-agenttelephone instrument 36.

[0026] The operation of the accessory 12 is essentially as describedabove, but it is useful to consider the case of accessing the call backsystem 30. A caller 16′ wishing to be connected to an agent 20′ isinstead placed in the auxiliary queue 28. By choice or otherwise, thecaller 16′ is connected to the call back system 30. The call back system30 obtains the call back information from the caller 16′ and physicallydisconnects the caller 16′, but the call back system 30 and theaccessory 12 maintain the caller 16′ as a “virtual” connection.

[0027] The accessory 12 keeps the call in the auxiliary queue 28 and thecall back system 30 monitors the progress of the call in the auxiliaryqueue 28. When the call back system 30 determines that the call is aboutto be transferred to the primary queue 21′, it reestablishes thephysical call and the caller 16′ is connected to the agent 20′.

[0028] If the auxiliary queue 28 is being operated in FIFO mode, thisconnection between the caller 16′ and the agent 20′ will occuressentially at the same time the caller 16′ would have been connectedhad the call remained on physical “hold” the entire time.

[0029] Without the accessory 12 (FIG. 1), this call back at the sametime the original call would have connected to an agent would be veryimprobable because the caller's order in the queue would have been lostwhen the call back system was initially connected to the caller.

[0030] In some cases, it may be advantageous to combine the accessory 12with the call back system 30 as a single unit.

[0031] It should be evident that this disclosure is by way of exampleand that various changes may be made by adding, modifying or eliminatingdetails without departing from the fair scope of the teaching containedin this disclosure. The invention is therefore not limited to particulardetails of this disclosure except to the extent that the followingclaims are necessarily so limited.

1-16. (canceled)
 17. An accessory device for a server, said serverallocating client primary resource requests to primary resources andhaving a primary queue, said device comprising: a controller; a servercommunication link adapted to communicate with said server and monitorsaid primary queue to intercept client primary resource requests inresponse to said controller; an auxiliary queue, said device storingsaid intercepted requests in said auxiliary queue in response to saidcontroller; and a secondary resource communication link adapted tocommunicate with at least one secondary resource, said device allocatingsecondary resource requests to said at least one secondary resource inresponse to said controller, wherein said device routes said interceptedrequests to said server via said server communication link in responseto a desired condition.
 18. A device according to claim 17, wherein saidauxiliary queue is a first in first out queue and said desired conditionis said primary queue having fewer than a threshold number of entries.19. A device according to claim 17, wherein said at least one secondaryresource is a call back system.
 20. A device according to claim 17,wherein said at least one secondary resource is a voice mail system. 21.A device according to claim 17, wherein said at least one secondaryresource is an information on demand system.
 22. A device according toclaim 17, wherein said at least one secondary resource is a telephonestation that is not a primary resource.
 23. A device according to claim17, wherein said primary resources include service agents.
 24. Anaccessory device for an automatic call director, said directorallocating caller primary resource requests to primary resources andhaving a primary queue, said device comprising: a controller; a directorcommunication link adapted to communicate with said director and monitorsaid primary queue to intercept caller primary resource requests inresponse to said controller; an auxiliary queue, said device storingsaid intercepted requests in said auxiliary queue in response to saidcontroller; and a secondary resource communication link adapted tocommunicate with at least one secondary resource, said device allocatingsecondary resource requests to said at least one secondary resource inresponse to said controller, wherein said device routes said interceptedrequests to said director via said director communication link inresponse to a desired condition.
 25. A device according to claim 24,wherein said auxiliary queue is a first in first out queue and saiddesired condition is said primary queue having fewer than a thresholdnumber of entries.
 26. A device according to claim 24, wherein said atleast one secondary resource is a call back system.
 27. A deviceaccording to claim 24, wherein said at least one secondary resource is avoice mail system.
 28. A device according to claim 24, wherein said atleast one secondary resource is an information on demand system.
 29. Adevice according to claim 24, wherein said at least one secondaryresource is a telephone station that is not a primary resource.
 30. Adevice according to claim 24, wherein said primary resources includeservice agents.
 31. An accessory device for an automatic call director,said director allocating callers to service agents and having a primaryqueue, said device comprising: a controller; a director communicationlink adapted to communicate with said director and monitor said primaryqueue to intercept calls in response to said controller; an auxiliaryqueue, said device storing said intercepted calls in said auxiliaryqueue in response to said controller; and a secondary resourcecommunication link adapted to communicate with a call back system, saiddevice allocating call back requests to said call back system inresponse to said controller, wherein said device routes said calls tosaid director via said director communication link in response to adesired condition.
 32. A device according to claim 31, wherein saidauxiliary queue is a first in first out queue and said desired conditionis said primary queue having fewer than a threshold number of entries.